﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ServiceModel;

namespace Airport
{
    public interface IAirportCallback
    {
        [OperationContract(IsOneWay = true)]
        void SendCurrentPlaneList(List<Plane> planeList);

        // Notifies all listeners that a new flight has been added
        [OperationContract(IsOneWay = true)]
        void newFlightUpdate(Flight newFlight);

        // Notifies all listeners that a plane position has changed
        [OperationContract(IsOneWay = true)]
        void PlanePositionUpdate(int planeId, Node newLocation);

        [OperationContract(IsOneWay = true)]
        void UpdatePlane(Plane updatedPlane);

        [OperationContract(IsOneWay = true)]
        void IncomingAirportLayout(Map airportMap);

        [OperationContract(IsOneWay = true)]
        void SendSuggestion(Suggestion pendingSuggestion);
    }
}